@{m_menuitem}@{" Copyright " link Copyright }@{m_menuinfo "legal stuff"}
@{m_menuitem}@{" Author " link SR.hguide/main }@{m_menuinfo "about the Author"}
@{m_menuitem}@{" Registration " link Registration }@{m_menuinfo "It's Shareware !!!"}
@{m_menuitem}@{" Internet " link Internet }@{m_menuinfo "where to get updates and actual information"}
@{m_menuitem}@{" Introduction " link Introduction }@{m_menuinfo "What is @{m_htds} ?"}
@{m_menuitem}@{" Features " link Features }@{m_menuinfo "Overview of features"}
@{m_menuitem}@{" Configuration " link Configuration }@{m_menuinfo "adapt to your needs"}
@{m_menuitem}@{" Base Datatype " link hypertext.hguide/main}@{m_menuinfo "The HyperText Datatype"}
@{m_menuitem}@{" Sub Datatypes " link SubDataTypes }@{m_menuinfo "available Sub Datatypes"}
@{m_menuitem}@{" Embedding of Objects " link EmbeddingObjects }@{m_menuinfo "How objects (pics) are embedded"}
@{m_menuitem}@{" Export function " link Exports }@{m_menuinfo "Generate various formats like HTML,HyperGuide"}
@{m_menuitem}@{" Datatypes Library" link DataTypesLibrary }@{m_menuinfo "some workarounds"}
@{m_menuitem}@{" Locale support " link Locale }@{m_menuinfo "from Amiga Translation Organization"}
@{m_menuitem}@{" Known Bugs " link KnownBugs }@{m_menuinfo "there are some :("}
@{m_menuitem}@{" FAQ " link FAQ.hguide/main }@{m_menuinfo "Frequently Asked Questions"}
@{m_menuitem}@{" Software Developer Kit " link SDK }@{m_menuinfo "How to program @{m_htds}"}
@{m_menuitem}@{" Thanks " link Thanks }@{m_menuinfo "I like to ..."}
@{m_menuitem}@{" Third Party stuff " link ThirdParty }@{m_menuinfo "Things I used"}
@{m_menuitem}@{" ToDo List " link ToDo }@{m_menuinfo "What should be done ..."}
@{m_menuitem}@{" Revision History " link HTDS.Rev/main }@{m_menuinfo "Implementation details"}
@{m_endsec}
@{cleartabs}
@endnode
@node News "HTDS/Whats new ?"
@{m_sec "Whats new ?"}
@{itemize}
@{m_sub "V40.10"}
@{item}directory.datatype supports now assigns and volumes with my new @{m_sample "Root:"} handler. See @{"Config" link directory.hguide/Configuration}.
@{m_sub "V40.9"}
@{item}@{"View Source" link /ARexx/ViewSource.rexx/main} rexx script
@{item}new @{"GETATTR" link hypertext.hguide/ARexxIFace_GETATTR} fields
@{item}new @{"SETATTR" link hypertext.hguide/ARexxIFace_SETATTR} rexx command
@{item}@{"Search XRef" link /ARexx/SearchXRef.rexx/main} rexx script
@{item}background pictures in @{" HTML " link html.hguide/Tags} and @{" HyperGuide " link hyperguide.hguide/Cmds_Background}
@{item}default backgrounds for all hypertext objects. See hypertext.datatype @{" Config " link hypertext.hguide/Configuration}
@{item}@{"@{fgrgb ...} and @{bgrgb ...}" link hyperguide.hguide/ATTRS_TEXTCOLOR} attributes uses @{"color expressions" link hypertext.hguide/ColorExpressions}
@{item}@{"node indexing" link hypertext.hguide/NodeIndexing} added
@{item}@{hyperguide} supports now @{"labels" link hyperguide.hguide/ATTRS_LINKS} within a node to goto
@{item}New subdatatype : @{"productinfo.datatype" link productinfo.hguide/main}
@{m_sub "V40.8"}
@{item}Brand new @{"html.datatype" link html.hguide/main}
@{item}@{hyperguide} now supports @{"lists" link hyperguide.hguide/ATTRS_LISTS}
@{m_sub "V40.7"}
@{item}search @{"requester" Link hypertext.hguide/UserIFace_SearchRequester} and @{"ARexx command" link hypertext.hguide/ARexxIFace_SEARCH}. @{m_regonly}
@{item}@{"RX" link hypertext.hguide/ARexxIFace_RX} ARexx command. @{m_regonly}
@{item}@{"FLUSH" link hypertext.hguide/ARexxIFace_FLUSH} ARexx command.
@{item}@{"EXPORT" link hypertext.hguide/ARexxIFace_EXPORT} ARexx command.
@{item}@{"NEXTINTERNAL" link hypertext.hguide/ARexxIFace_NEXTINTERNAL} ARexx command.
@{item}html.export class
@{item}@{"HyperGuide2HTML.rexx" link /ARexx/HyperGuide2HTML.rexx/main} script
@{item}HyperText documents can now be printed.
@{item}The @{"navigator panel" link hyperguide.hguide/UserIFace_Navigator} is now configureable. @{m_regonly}
Width of each button changes now according to the window width.
@{item}@{m_htds} based ASCII datatype for normal ascii texts.
@{item}new HyperGuide command : @{"@depth" link hyperguide.hguide/Cmds_Prefs}
@{item}changed \@{deffont} to \@{stdfont} and added deffont macro.
@{m_sub "V40.6"}
@{item}mark lines and use the selected area for clipboard or save function. @{m_regonly}
@{item}Keyfile introduced
@{item}@{m_htds} keyfile is also used for my upcoming MultiView replacement : @{m_high UniView}, @{m_high dtwindow.class}
@{item}@{"License" link Registration} changed
@{item}@{" FAQ " link FAQ.hguide/main} started
@{enditemize}
@{m_endsec}
@endnode
@node Copyright "HTDS/Copyright"
@{m_sec Copyright}
The @{m_prg}, and all files included in this distribution are, unless
If you want to discuss general things about programming and design of datatypes/@{m_htds}
comp.sys.amiga.programmer is a good place.
@{m_endsec}
@endnode
@node Introduction "HTDS/Introduction"
@{m_sec Introduction}
The reasons of writing @{m_htds} was first to replace the existing text.datatype.
The include file of the text.datatype inspired me to write a datatype, which is
able to embed any other datatype object. After some experiments with the existing
text.datatype I decided to write a replacement. During the development of this
replacement datatype, I decided to drop the compatibility for the text.datatype
and write a complete new base datatype for hypertext formats.
Now the @{m_prg} provides features, which currently only available Web-Browsers
offers the Amiga user. But as all Web-Browsers they are normal applications,
which have at least a ARexx port to control the behaviour of the application.
Now with the @{m_htds} it's possible to intergrate for example a Web-Browser in
your own application or `Webbing' around with MultiView.@{line}
Because the @{m_htds} based on the Datatypes/BOOPSI concept of the AmigaOS 3.0 or
newer, it's possible to derive @{"new Datatypes" link SubDataTypes} from the
@{"base Datatype" link hypertext.hguide/main}. So the wide range of different
text and hypertext formats are easy to implement. And hopefully in future the
Amiga supports text/hypertext formats as much as current picture formats. This
would make the Amiga a little bit more unique and uptodate.
@{m_endsec}
@{m_sec "Requirements"}
You need at least :
@{itemize}
@{item}AmigaOS 3.0 (V39) or newer
@{item}At least 2Mb of RAM
@{item}Hard drive
@{enditemize}
@{m_endsec}
@{m_sec "See Also"}
@{" Features " link Features}, @{" ToDo List " link ToDo},
@{" History " link HTDS.Rev/main}
@{m_endsec}
@endnode
@node Features "HTDS/Features"
@{m_sec "Short overview of the features HTDS provides"}
@{itemize}
@{item}base datatype class for HyperText: @{"hypertext.datatype" link hypertext.hguide/main}
@{item}@{"embedding" link EmbeddingObjects} of other DataTypes objects
@{item}@{"basic" link hypertext.hguide/CommonAttrs} HyperGuide attributes for any subdatatype
@{item}asyncron rendering (not in input task)
@{item}multiple fonts
@{item}links to other DataTypes objects
@{item}links to programs and ARexx-scripts
@{item}line separator like HTML <hr>
@{item}justification left,center,right
@{item}paragraphs support
@{item}tabulator support
@{item}own @{"ARexx port" link hypertext.hguide/ARexxIFace}
@{item}@{"navigator buttons" link hypertext.hguide/UserIFace_Navigator} like AmigaGuide
@{item}additional buttons 'Forward', @{"Search" link hypertext.hguide/UserIFace_SearchRequester} and @{"About" link hypertext.hguide/UserIFace_AboutRequester}
@{item}@{"global" link HTDS_TOC.hguide} table of contents
@{item}@{"locale" link Locale} support from ATO.
@{item}mark lines @{m_regonly}
@{item}a defined API
@{item}example subclass with full source code (@{"SDK" link SDK})
@{item}print support @{m_new 40.7}
@{item}@{"search" link hypertext.hguide/UserIFace_SearchRequester} support @{m_new 40.7} @{m_regonly}
@{m_sub SubDataTypes}
@{item}@{"hyperguide.datatype" link hyperguide.hguide/main} AmigaGuide compatible
@{item}@{"html.datatype " link html.hguide/main}
@{item}@{"htdsascii.datatype" link ASCIIDT} replaces the ascii.datatype
@{item}@{"directory.datatype" link directory.hguide/main} to browse through the FileSystem
or get advantage of pseudo FileSystems like Proc: or Ftp:
@{item}@{"man.datatype" link man.hguide/main} browse for example gcc, unix manual pages
@{item}@{"productinfo.datatype" link productinfo.hguide/main} for Product-Info files
@{m_sub "SubDataTypes from other authors"}
@{item}exe.datatype from Swen Stullich
@{enditemize}
@{m_endsec}
@{m_sec "See Also"}
@{" ToDo List " link ToDo}, @{" User Interface " link hypertext.hguide/UserIFace},
@{" HyperGuide Attributes " link hyperguide.hguide/Attrs}
@{m_endsec}
@endnode
@node Configuration "HTDS/Configuration"
@{m_sec Configuration}
As the recommended standard for datatypes, each Datatype should provide a
preference file, that is named @{m_file "<datatypename>.prefs"} and searched first
in the @{m_file "PROGDIR:Prefs/DataTypes"} and then in @{m_file "Env:DataTypes"}
directory.
The format of this preference file isn't defined, but most of the Datatypes uses
ASCII files, which are parsed using the @{"dos.library/ReadArgs()" link dos/ReadArgs()}
function. This format is used for all @{m_htds} datatypes.
The following links point to the configuration documentation of the
appropriate Datatype :
@{itemize}
@{item}@{" hypertext.datatype " link hypertext.hguide/Configuration}
@{line}
@{item}@{" hyperguide.datatype " link hyperguide.hguide/Configuration}
@{item}@{" html.datatype " link html.hguide/Configuration}
@{item}@{" directory.datatype " link directory.hguide/Configuration}
@{item}@{" man.datatype " link man.hguide/Configuration}
@{item}@{" productinfo.datatype " link productinfo.hguide/Configuration}
@{enditemize}
@{m_endsec}
@endnode
@node EmbeddingObjects "HTDS/Embedding of DataTypes objects"
@{m_sec "Embedding of DataTypes objects"}
The most exciting feature within @{m_prg} is, that possibly all other
files/objects can be embedded within a document. Requirement for this is,
that the appropriate DataType supports the DTM_DRAW method. But currently
only the picture.datatype V42 using my picdtpatch program, and the
picture.datatype V43 by Ralph Schmidt supports the DTM_DRAW method. But this
seems to be broken, please use the picdtpatch instead. I will contact Ralph.
In future the hypertext.datatype itself will support that method, so
that is would be possible to embed a HyperText object within a HyperText
object.@{line}
For example to embed a directory listing using the @{"directory.datatype" link directory.hguide/main}
within a @{hyperguide} document.@{line}
But with this possiblity you must take care when writing HyperText
documents to not recursively embed a object.
@{m_endsec}
@{m_sec "Datatypes, which supports DTM_DRAW"}
@{itemize}
@{item} picture.datatype V42 (using picdtpatch)
@{item} Picasso96 picture.datatype V43
@{item} Currently broken: picture.datatype V43 (Ralph Schmidt)
@{enditemize}
@{m_endsec}
@{m_sec "See Also"}
@{" HyperGuide: @{object ...} " link hyperguide.hguide/ATTRS_MISC},
@{" PicDTPatch " link picdtpatch.doc/main}
@{m_endsec}
@endnode
@node Exports "HTDS/Export function"
@{m_sec "Export function"}
From version 40.7 @{m_htds} supports to export the current viewed hypertext
page. This can be done with the @{"EXPORT" link hypertext.hguide/ARexxIFace_EXPORT} ARexx command.
The following formats are currently supported :
@{itemize}
@{item}Ascii (intern within the hypertext.datatype)
@{item}HTML (through an external html.export class)
@{enditemize}
This can be exported into a file or clipboard.
@{m_endsec}
@{m_sec "Note"}
This function is only available in the @{"registered" link Registration} version.
@{m_endsec}
@endnode
@node DataTypesLibrary "HTDS/DataTypes Library in conjunction with HTDS"
@{m_sec "DataTypes Library"}
The current version of the @{m_htds} has some workarounds implemented to
avoid some bugs/imcompatibilities with the DataTypes Library. This was only
tested with datatypes.library 40.6, so if you have problems with the following
stuff and you haven't the V40.6 version. Send @{"me" link SR.hguide/Addresses} a mail.
@{itemize}
@{item}To view internal nodes of an @{hyperguide} document, it was necessary to
do a NewDTObject() call with SourceType set to DTST_RAM. But this failed in the
datatypesclass OM_NEW method. So I had to implement a workaround for this and its
only tested with datatypes.library V40.6.
@{item}The datatypes.library provides a feature, which isn't documented : If
you click in a datatypes object box and hold down the button while moving the mouse
out of the datatypes object box, is does a autoscoll for that object. But the
datatypes.library do not notify the application of the new position. The hypertext.datatype
fixes this problem.
@{enditemize}
@{m_endsec}
@endnode
@node Locale "HTDS/Locale support"
@{m_sec "Locale support"}
@{m_htds} supports a various number of languages using the Amiga Translator Organisation